//  @ Project : GagalPanen
//  @ File Name : dropboxes.hpp
//  @ Date : 3/9/2011
//  @ Author : Denis
//
//


#if !defined(_DROPBOXES_H)
#define _DROPBOXES_H

#include <fstream>
#include "gameinterface.hpp"
#include "dropbox.hpp"

#include <vector>

class DropBoxes {
public:
  // normal constructor
  DropBoxes(GameInterface* game);

  // load game constructor
  DropBoxes(GameInterface* game, std::ifstream& is);

  virtual void save(std::ofstream& os);
  virtual ~DropBoxes();
  void advanceDay();
  void advanceTime();
  bool containsDropBoxAt(Cell* cell);
  DropBox* getDropBoxAt(Cell* cell);
  bool isSteppable();
private:
  GameInterface* game_;
  std::vector<DropBox* > drop_boxes_;
};

#endif  //_DROPBOXES_H
